package com.secsys.service;

import java.util.Date;
import java.util.List;

import com.secsys.dto.StoFinanceassetdebtDTO;
import com.secsys.model.TbStoFinanceassetdebt;
import com.secsys.model.TbStoStock;

public interface StoFinanceAssetDebtService extends Service<TbStoFinanceassetdebt, Integer> {
	
	/**
	 * 根据股票ID查找StoFinanceassetdebtDTO（资产与负债）对象
	 * @param stockCode
	 * 			股票代码，TbStoStockDTO的stockCode
	 * @return
	 * 			StoFinanceassetdebtDTO对象
	 */
	public StoFinanceassetdebtDTO queryFinanceassetdebtByStockCode(String stockCode);
	
	/**
	 * 根据股票ID查找StoFinanceassetdebtDTO（资产与负债）对象集合
	 * @param stockCode
	 * @return
	 */
	public List<StoFinanceassetdebtDTO> queryAssetdebtListByStockCode(String stockCode);
	
	/**
	 * 根据“基本信息对象”tbStoStock查找StoFinanceassetdebtDTO（资产与负债）对象
	 * @param tbStoStock
	 * 			股票基本信息POJO对象，TbStoStockDTO对象
	 * @return
	 * 			StoFinanceassetdebtDTO（资产与负债）对象
	 */
	public StoFinanceassetdebtDTO queryFinanceassetdebtByTbStoStock(TbStoStock tbStoStock);
	
	/**
	 * 根据给定日期，查找StoFinanceassetdebtDTO（资产与负债）对象的List数组
	 * @param fieldDate
	 * 			给定的日期
	 * @param	offset
	 * 				-偏离量
	 * @param	count
	 * 				-个数
	 * @return
	 * 			StoFinanceassetdebtDTO对象List
	 */
	public List<StoFinanceassetdebtDTO> queryFinanceassetdebtByDate(Date fieldDate,int offset,int count);
	
	/**
	 * 根据"时间"范围，查找StoFinanceassetdebtDTO（资产与负债）对象的List数组
	 * @param startDate
	 * 			起始日期
	 * @param endDate
	 * 			中止日期
	 * @param	offset
	 * 				-偏离量
	 * @param	count
	 * 				-个数
	 * @return
	 * 			StoFinanceassetdebtDTO对象List
	 */
	public List<StoFinanceassetdebtDTO> queryFinanceassetdebtByDateRange(Date startDate,Date endDate,int offset,int count);
	
	/**
	 * 根据"资产总额(万元)"范围，查找StoFinanceassetdebtDTO（资产与负债）对象的List数组
	 * @param startTotalAsset
	 * 				-资产总额(万元)，范围的开始端
	 * @param endTotalAsset
	 * 				-资产总额(万元)，范围的结束端
	 * @param	offset
	 * 				-偏离量
	 * @param	count
	 * 				-个数
	 * @return
	 * 			StoFinanceassetdebtDto对象List
	 */
	public List<StoFinanceassetdebtDTO> queryFinanceassetdebtByTotalAssetRange(double startTotalAsset,double endTotalAsset,int offset,int count);
	
	/**
	 * 根据"负债总额(万元)"范围，查找StoFinanceassetdebtDTO（资产与负债）对象的List数组
	 * @param startTotalIndebted
	 * 				-负债总额(万元)，范围的开始端
	 * @param endTotalIndebted
	 * 				-负债总额(万元)，范围的结束端
	 * @param	offset
	 * 				-偏离量
	 * @param	count
	 * 				-个数
	 * @return
	 * 			StoFinanceassetdebtDto对象List
	 */
	public List<StoFinanceassetdebtDTO> queryFinanceassetdebtByTotalIndebtedRange(double startTotalIndebted,double endTotalIndebted,int offset,int count);
	
	/**
	 * 根据"流动负债(万元)"范围，查找StoFinanceassetdebtDTO（资产与负债）对象的List数组
	 * @param startFlowIndebted
	 * 				-流动负债(万元)，范围的开始端
	 * @param endFlowIndebted
	 * 				-流动负债(万元)，范围的结束端
	 * @param	offset
	 * 				-偏离量
	 * @param	count
	 * 				-个数
	 * @return
	 * 			StoFinanceassetdebtDto对象List
	 */
	public List<StoFinanceassetdebtDTO> queryFinanceassetdebtByFlowIndebtedRange(double startFlowIndebted,double endFlowIndebted,int offset,int count);
	
	/**
	 * 根据"长期负债(万元)"范围，查找StoFinanceassetdebtDTO（资产与负债）对象的List数组
	 * @param startLongTermIndebted
	 * 				-长期负债(万元)，范围的开始端
	 * @param endLongTermIndebted
	 * 				-长期负债(万元)，范围的结束端
	 * @param	offset
	 * 				-偏离量
	 * @param	count
	 * 				-个数
	 * @return
	 * 			StoFinanceassetdebtDto对象List
	 */
	public List<StoFinanceassetdebtDTO> queryFinanceassetdebtByLongTermIndebtedRange(double startLongTermIndebted,double endLongTermIndebted,int offset,int count);
	
	/**
	 * 根据"货币资金(万元)"范围，查找StoFinanceassetdebtDTO（资产与负债）对象的List数组
	 * @param startCoinFund
	 * 				-货币资金(万元)，范围的开始端
	 * @param endCoinFund
	 * 				-货币资金(万元)，范围的结束端
	 * @param	offset
	 * 				-偏离量
	 * @param	count
	 * 				-个数
	 * @return
	 * 			StoFinanceassetdebtDto对象List
	 */
	public List<StoFinanceassetdebtDTO> queryFinanceassetdebtByCoinFundRange(double startCoinFund,double endCoinFund,int offset,int count);
	
	/**
	 * 根据"应收帐款(万元)"范围，查找StoFinanceassetdebtDTO（资产与负债）对象的List数组
	 * @param startAccountReceivable
	 * 				-货币资金(万元)，范围的开始端
	 * @param endAccountReceivable
	 * 				-货币资金(万元)，范围的结束端
	 * @param	offset
	 * 				-偏离量
	 * @param	count
	 * 				-个数
	 * @return
	 * 			StoFinanceassetdebtDto对象List
	 */
	public List<StoFinanceassetdebtDTO> queryFinanceassetdebtByAccountReceivableRange(double startAccountReceivable,double endAccountReceivable,int offset,int count);
	
	/**
	 * 根据"其他应收款(万元)"范围，查找StoFinanceassetdebtDTO（资产与负债）对象的List数组
	 * @param startAccountReceivableOther
	 * 				-其他应收款(万元)，范围的开始端
	 * @param endAccountReceivableOther
	 * 				-其他应收款(万元)，范围的开始端
	 * @param	offset
	 * 				-偏离量
	 * @param	count
	 * 				-个数
	 * @return
	 * 			StoFinanceassetdebtDto对象List
	 */
	public List<StoFinanceassetdebtDTO> queryFinanceassetdebtByAccountReceivableOtherRange(double startAccountReceivableOther,double endAccountReceivableOther,int offset,int count);
	
	/**
	 * 根据"坏帐准备(万元)"范围，查找StoFinanceassetdebtDTO（资产与负债）对象的List数组
	 * @param startBadAccountReady
	 * 				-坏帐准备(万元)，范围的开始端
	 * @param endBadAccountReady
	 * 				-坏帐准备(万元)，范围的开始端
	 * @param	offset
	 * 				-偏离量
	 * @param	count
	 * 				-个数
	 * @return
	 * 			StoFinanceassetdebtDto对象List
	 */
	public List<StoFinanceassetdebtDTO> queryFinanceassetdebtByBadAccountReadyRange(double startBadAccountReady,double endBadAccountReady,int offset,int count);
	
	/**
	 * 根据"股东权益(万元)"范围，查找StoFinanceassetdebtDTO（资产与负债）对象的List数组
	 * @param startPartnerProfit
	 * 				-股东权益(万元)，范围的开始端
	 * @param endPartnerProfit
	 * 				-股东权益(万元)，范围的开始端
	 * @param	offset
	 * 				-偏离量
	 * @param	count
	 * 				-个数
	 * @return
	 * 			StoFinanceassetdebtDto对象List
	 */
	public List<StoFinanceassetdebtDTO> queryFinanceassetdebtByPartnerProfitRange(double startPartnerProfit,double endPartnerProfit,int offset,int count);
	
	
	
}
